@viewport {
  width: device-width;
  min-width: 480px;
  zoom: 1.0 ;
}

@-ms-viewport {
  width: device-width;
  min-width: 480px;
}

@media print {
	@page {
		margin-top: 0;
		margin-bottom: 0;
	}
	body {
		padding-top: 72px;
		padding-bottom: 72px ;
	}
}

* {
	-webkit-print-color-adjust: exact !important;	/* Chrome, Safari 6 – 15.3, Edge */
	color-adjust: exact !important;					/* Firefox 48 – 96 */
	print-color-adjust: exact !important;			/* Firefox 97+, Safari 15.4+ */
}

html, body {
	padding: 0 1em;
	font-family: "Arial", "Helvetica", "sans-serif";
	font-size: calc(10px + (18 - 10) * ((100vw - 300px) / (1600 - 300)));
	line-height: calc(1.3em + (1.5 - 1.2) * ((100vw - 300px)/(1600 - 300)));
}

img.th:hover {
	transform: scale(1.5);
	cursor: pointer;
}

img.th {
	height: 75px;
}

#orig,
#redu {
	white-space: nowrap;
	background: url();
	filter: none; 
	-webkit-filter: blur(0px); 
	-moz-filter: blur(0px); 
	-ms-filter: blur(0px);
	filter: progid: DXImageTransform.Microsoft.Blur(PixelRadius='0');
	transform: translateZ(0) scale(0.999999);
}

th {
	text-align: left;
}

td > img {
	margin-left: -.15em;
	margin-right: -.15em;
}

input[type="number"], input[type="text"] {
	font-size: calc(10px + (18 - 10) * ((100vw - 300px) / (1600 - 300)));
	font-family: "Arial, Times New Roman, Times, serif";
	padding: 0;
	border: none;
	color: blue;
	background: WhiteSmoke;
}

#tbl_showcase {
	border: 1px solid silver;
	border-collapse: collapse;
}

#tbl_showcase tr > * {
	padding: 5px 15px;
}

#tbl_showcase tr:nth-child(odd) {
	border-radius: 0.5em;
	background: linear-gradient(to left, MintCream, Lavender);
	background-repeat: no-repeat;
	background-attachment: fixed;
}

#btn_upd {
	cursor: pointer;
	font-size: calc(10px + (18 - 10) * ((100vw - 300px) / (1600 - 300)));
	font-family: "Arial, Times New Roman, Times, serif";
}

.box {
	float: left;
	min-height: 165px;
}

.box img,
.box canvas {
	vertical-align: middle;
}

.box h4 {
	background: linear-gradient(to right, LightYellow, Bisque);
	font-size: calc(10px + (18 - 10) * ((100vw - 300px) / (1600 - 300)));
	padding: 2px 5px;
	margin: 0;
}

.box h5 {
	background: linear-gradient(to right, LightYellow, Bisque);
	border-top-right-radius: 0.5em;
	font-size: calc(10px + (18 - 10) * ((100vw - 300px) / (1600 - 300)));
	padding: 2px 5px;
	margin: 0;
}

@media (min-width: 850px) and (max-width: 920px) { 
	#help {
		max-width: 40vw !important; 
	}
}
@media (max-width: 849px) {
	#help {
		display: none !important; 
	}
}

#footer {
	position: fixed;	
	border-radius: 0.5em;
	box-shadow: 5px 5px rgba(128, 128, 128, 0.6);
	background: linear-gradient(45deg, rgba(222, 222, 222, 0.4), rgba(168, 168, 168, 0.6));	
	margin: 0.5em;
	bottom: 0;
	right: 0;
}

.flex {
	align-content: flex-end;
	align-items: flex-end;
	bottom: 0.1vw;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin: 0.5vw 0.5vw;
	min-width: 280px;
	height: 8vh;
}

.grid {
	align-items: center;
	display: grid;
	margin: 0.5vw 0.5vw;
	min-width: 280px;
	height: 8vh;
}

.grid > * {
	float: left;
	height: 100%;
}

.custom_cfg {
	cursor: pointer;
	font-family: "Arial, Times New Roman, Times, serif";
	float: left;
	font-weight: bold;
	margin-top: 3px;
}

.custom_cfg > * {
	vertical-align: middle;
}

pre {
	margin: 10px 0 0 0;
}

.blurry-load {
  filter: blur(8px);
}

.blurry-load-grey {
  filter: blur(8px) grayscale(1);
}

@keyframes blurOut {
  0% {
    filter: blur(20px);
  }

  50% {
    filter: blur(10px);
  }

  100% {
    filter: blur(0px);
  }
}
/* Create the blurOut animation
 To be used for all images with the blur-image class */

.blur-out {
  animation: blurOut 0.5s ease-out;
}

.no-blur {
}
/* The no-blur class will be applied when the browser does not support CSS filters
 Instead of showing a blurred image */

#wrapfabtest {
	opacity: 0;
	overflow: hidden;
}

.adBanner {
	background-color: transparent;	
	height: 1px;
	width: 1px;
}
